package com.example.myproject.util;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

public class MonthUtil {
    private static List<String> getMonthBetween(String minDate, String maxDate) throws  Exception {
         ArrayList<String> result = new ArrayList<String>();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月

         Calendar min = Calendar.getInstance();
         Calendar max = Calendar.getInstance();

          min.setTime(sdf.parse(minDate));
          min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1);

          max.setTime(sdf.parse(maxDate));
          max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2);

          Calendar curr = min;
           while (curr.before(max)) {
                    result.add(sdf.format(curr.getTime()));
                    curr.add(Calendar.MONTH, 1);
                }
             return result;
        }

    public static void main(String[] param) throws  Exception{
        String minDate = "2018-03-02";
        String maxDate = "2018-08-03";
        List<String> list = getMonthBetween(minDate, maxDate);
        for(String s : list){
            System.out.println(s);
        }
    }
}
